package com.easy.frame.servers.sys.service.tenant;

import com.baomidou.mybatisplus.extension.service.IService;
import com.easy.frame.base.api.pojo.PageDTO;
import com.easy.frame.base.api.pojo.PageVO;
import com.easy.frame.servers.sys.dto.SysProjectDTO;
import com.easy.frame.servers.sys.dto.SysTenantAddDTO;
import com.easy.frame.servers.sys.dto.SysTenantPageDTO;
import com.easy.frame.servers.sys.dto.SysTenantUpdateDTO;
import com.easy.frame.servers.sys.entity.SysBusinessType;
import com.easy.frame.servers.sys.entity.SysTenant;
import com.easy.frame.servers.sys.vo.SysProjectVO;
import com.easy.frame.servers.sys.vo.SysTenantDetailVO;
import com.easy.frame.servers.sys.vo.SysTenantVO;

import java.util.List;

/**
 * <p>
 * 系统租户表 服务类
 * </p>
 *
 * @author zzf
 * @since 2020-12-14
 */
public interface SysTenantService extends IService<SysTenant> {

    PageVO<SysTenantVO> selectForPage(PageDTO<SysTenantPageDTO> param);

    SysTenant selectById(Long id);

    void add(SysTenantAddDTO addDTO);

    void updateDetail(SysTenantUpdateDTO updateDTO);

    int updateDeleted(Long id);

    SysTenantVO selectVOById(Long id);

    Long checkCode(String code);

    Long getSysAdminId();

    SysTenantDetailVO getDetail(Long id);

    List<SysTenant> selectAllTenant();

    PageVO<SysProjectVO> getProjectDetailPage(PageDTO<SysProjectDTO> param);

    void updateBusinessById(SysBusinessType entity);

    void selectAllByTenantId(Long tenantId);

    List<SysBusinessType> listAllType(Long tenantId);

    List<SysTenant> listSupplier(Integer supplierType);

}
